﻿//  ***** Guidance generated code © Catharsis ***** //
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using Mulala.Cavan.Core.Persistent;

namespace Mulala.Cavan.Presentation.Seedwork
{
    /// <summary>
    ///     Object which allows to store selected Models properties in the Storage
    /// </summary>
    [Serializable]
    public class StateObject : IStateObject
    {
        IDictionary<string, object> _otherElements = new Dictionary<string, object>();

        #region IStateObject Members
        public virtual ISearch SearchParam { get; set; }
        public virtual ISearch SearchForParam { get; set; }
        public virtual string ItemID { get; set; }
        public virtual IPersistentObject Item { get; set; }

        public virtual IDictionary<string, object> OtherElements
        {
            get { return _otherElements; }
            set { _otherElements = value; }
        }
        #endregion
    }
}